/**
 * 项目管理列表
 */
export interface ProjectListForm {
  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 行业主管部门
   */
  industryType?: number;

  /**
   * 项目名称
   */
  name?: string;

  /**
   * 项目编号 数据来源平台项目编号
   */
  prjNum?: string;

  /**
   * 	项目分类。参见项目分类字典表
   */
  categoryName?: string;

  /**
   * 建设单位名称
   */
  buildCorpName?: string;

  /**
   * 	建设单位统一社会信用代码，如果无统一社会信用代码，则填写组织机构代码
   */
  buildCorpCode?: string;

  /**
   * 总投资，单位：（万元）
   */
  invest?: number;

  /**
   * 开工日期
   */
  startDate?: Date;

  /**
   * 项目地点
   */
  address?: string;

  /**
   * 项目审核状态
   */
  auditStatus?: number;

  /**
   * 项目审核状态名称
   */
  auditStatusName?: string;

  /**
   * 创建数据的项目管理员ID
   */
  createManagerId?: number;
}

/* 合并施工项目和项目新类型 */
export interface ProjectManagerType {
  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 行业主管部门
   */
  industryType?: number;

  /**
   * 项目名称
   */
  name?: string;

  /**
   * 项目编号 数据来源平台项目编号
   */
  prjNum?: string;

  /**
   * 项目简介
   */
  description?: string;

  /**
   * 项目分类。参见项目分类字典表
   */
  category?: number;

  /**
   * 建设单位名称
   */
  buildCorpName?: string;

  /**
   * 建设单位统一社会信用代码，如果无统一社会信用代码，则填写组织机构代码
   */
  buildCorpCode?: string;

  /**
   * 建设用地规划许可证编号。AES
   */
  buildPlanNum?: string;

  /**
   * 建设工程规划许可证编号。AES
   */
  prjPlanNum?: string;

  /**
   * 项目所在城市。参考行政区划字典表
   */
  cityCode?: number;

  /**
   * 项目所在区县。参考行政区划字典表
   */
  areaCode?: number;

  /**
   * 总投资，单位：（万元）
   */
  invest?: number;

  /**
   * 总面积，单位：平方米
   */
  buildingArea?: number;

  /**
   * 总长度，单位：米
   */
  buildingLength?: number;

  /**
   * 开工日期，精确到天，格式：yyyy-MM- dd
   */
  startDate?: Date;

  /**
   * 竣工日期，精确到 天，格式：yyyy-MM-dd
   */
  endDate?: Date;

  /**
   * 联系人姓名
   */
  linkMan?: string;

  /**
   * 联系人办公电话
   */
  linkPhone?: string;

  /**
   * 项目状态。参考项目状态字典表
   */
  prjStatus?: number;

  /**
   * WGS84 纬度
   */
  lat?: number;

  /**
   * WGS84 经度
   */
  lng?: number;

  /**
   * 项目地点
   */
  address?: string;

  /**
   * 立项文号
   */
  approvalNum?: string;

  /**
   * 立项级别。参考立项级别字典表
   */
  approvalLevel?: number;

  /**
   * 建设规模。参考建设规模字典表
   */
  sizeType?: number;

  /**
   * 建设性质。参考建设性质分类字典表
   */
  propertyNum?: number;

  /**
   * 工程用途。参考工程用途字典表
   */
  functionNum?: number;

  /**
   * 工程建设项目资金来源的种类，详见代码表
   */
  fundsSource?: number;

  /**
   * 对应《工程建设项目审批管理系统》项目代码。（如果有）
   */
  ggProjectCode?: string;

  /**
   * 对应《工程建设项目审批管理系统》工程代码。（如果有）
   */
  ggEngineeringCode?: string;

  /**
   * 施工许可证编号
   */
  builderLicenseNum?: string;

  /**
   * 指工程建设项目中标合同价格，单位为元（不需要招投标的项目使用工程造价代替）
   */
  contractAmount?: number;

  /**
   * 指工程建设项目合同约定的项目开工日期
   */
  contractStartDate?: Date;

  /**
   * 指工程建设项目进度或施工状态
   */
  status?: number;

  /**
   * 施工许可证发证日期
   */
  licenseDate?: Date;

  /**
   * 施工许可证许可有效期限
   */
  licenseExpire?: Date;

  /**
   * 指工程建设项目工地是否树立维权告示牌 默认值: b'0'
   */
  hasSafeguardingBoard?: Boolean;

  /**
   * 指工程建设项目是否有工程款支付担保 默认值: b'0'
   */
  hasEarnestMoney?: Boolean;
}

/* 新增考勤 */
export interface checkInDetailEditForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 进出标识
   */
  entryExitMark?: number;

  /**
   * 考勤月份
   */
  month?: string;

  /**
   * 考勤日期
   */
  checkinDate?: Date;

  /**
   * 进场人员id
   */
  memberId?: number;

  /**
   * 进出场标识
   */
  entryExitMarkName?: string;

  /**
   * 人员姓名
   */
  personName?: string;
}

/* 获取所有班组成员 */
export interface selectAllMemberList {
  /**
   * ID
   */
  id?: number;

  /**
   * 班组名称
   */
  groupName?: string;

  /**
   * 人员名称
   */
  personName?: string;

  /**
   * 当前工种
   */
  typeName?: string;

  /**
   * 工人类型
   */
  roleName?: string;

  /**
   * 是否班组长
   */
  isLeader?: Boolean;

  /**
   * 开始工作日期
   */
  workDate?: Date;

  /**
   * 创建时间
   */
  createTime?: Date;

  /**
   * 发卡时间
   */
  issueCardDate?: Date;

  /**
   * 人员状态
   */
  status?: number;

  /**
   * 人员状态名称
   */
  statusName?: string;

  /**
   * 进场时间
   */
  startDate?: Date;

  /**
   * 出场时间
   */
  endDate?: Date;
}

/* 页面请求参数 */
export interface ParamsType {
  pageIndex?: number;
  pageSize?: number;
  keywords?: string;
  cityCode?: number;
  areaCode?: number;
}
